Git撤銷操作總結:reset、revert與restore的區別

Git提供`reset`、`revert`、`restore`三個撤銷工具,功能相似但場景差異大,需按場景選擇: **git reset**:調整分支指針,丟棄部分提交。分三模式:`--mixed`(默認,回退指針和暫存區,保留工作區)、`--soft`(僅回退指針,保留修改)、`--hard`(徹底回退,最危險)。適用於本地未推送的快速回退,已推送分支嚴禁用`--hard`。 **git revert**:創建新提交反向撤銷,保留原歷史。語法簡單(如`git revert HEAD~1`),安全回滾已推送分支,避免破壞團隊歷史。 **git restore**:精準恢復文件,不影響分支。可撤銷暫存(`git restore --staged <文件>`)或恢復單個文件到歷史版本(`git restore --source=HEAD~1 <文件>`),替代舊`git checkout --`,語義更清晰。 **區別**:reset調整分支指針(危險),revert新增撤銷提交(安全),restore恢復單文件(精準)。決策口訣:本地未推用

閱讀全文